בקבלת מערך מספרים להזיז את כל האפסים לצד שמאל של המערך וששאר המספרים יישארו באותו יחס. אין להשתמש במקום נוסף בזיכרון.
תשובות
הוסף תשובה
|
לצפיה בתשובות
אפריל 2022
פתרון ב- C++
for (int lastNonZeroFoundAt = 0, cur = 0; cur < arr.size(); cur++) {
if (arr[cur] !- 0) {
std::swap(arr[lastNonZeroFoundAt++], arr[cur]);
}
}
שנם 5 כובעים :3 כובעים לבנים ו-2 כובעים שחורים. שלושה אנשים נעמדים בתור כאשר כל אחד רואה רק את מי שלפניו: האחרון מבניהם רואה את השניים שלפניו, האמצעי רואה רק את הראשון והראשון לא רואה אף אחד. כל השלושה עוצמים עיניים ועל ראשיהם שמים 3 כובעים. שואלים את האחרון האם הוא יודע מה הצבע של הכובע שעל ראשו כך שהשניים שלפניו שומעים. אחר כך שואלים את האמצעי האם הוא יודע מה הצבע שעל ראשו כך שהראשון שומע. בסוף שואלים את הראשון האם הוא יודע מה צבע הכובע שעל ראשו?
האם הראשון יכול תמיד לדעת מה הצבע שעל ראשו?
תשובות
הוסף תשובה
|
לצפיה בתשובות
פברואר 2022
ן!
הראשון יכול לדעת רק אם לשניים מלפניו יש שני כובעים שחורים, ולכן נותרו רק לבנים. במקרה זה, השניים מלפניו ידעו שיש להם כובעים שחורים על הראש (וסיימנו).
במידה והוא לא יודע:
אם האמצעי יראה כובע שחור על הראשון, הוא יידע שלא יכול להיות גם לו כובע שחור, כי אז האחרון היה יודע שיש לו כובע לבן. כלומר - האמצעי יידע את צבע כובעו במידה ולראשון יש כובע שחור, ולא יידע את צבע כובעו במידה ולראשון יש כובע לבן, ולכן בכל מקרה הראשון יכול לדעת את צבע כובעו בהסתמך על תשובה האמצעי.
אלביט מערכות בע"מ היא חברה ישראלית העוסקת בפיתוח ובייצור של מערכות אלקטרוניות ואמצעי לחימה מתקדמים. אלביט מערכות מפתחת, משווקת ומבצעת אינטגרציה של מערכות אלקטרוניות ואלקטרו-אופטיות ביטחוניות מתקדמות ללקוחות בכל רחבי העולם. החברה מתמקדת בפיתוח מערכות שליטה ובקרה, ומערכות מודיעין לשוק הצבאי, בביצוע השבחות של כלי טיס, כלי שיט ורכבים ובפיתוח ומסירה של מערכות כלי טיס בלתי מאוישים.